/*=============================================================================
*
*   Copyright (C) 2020 All rights reserved.
*
*   Filename:		sif_calculator_interface.hpp
*
*   Author: Wang Zhecheng - wangzhecheng@yeah.net
*
*   Date: 2020-03-24 03:15
*
*   Last Editors: Wang Zhecheng - wangzhecheng@yeah.net
*
*   Last modified:	2020-03-25 14:47
*
*   Description:
*
=============================================================================*/
#ifndef SIF_CALCULATOR_INTERFACE_H
#define SIF_CALCULATOR_INTERFACE_H

#include "../types.hpp"

namespace geoxfem {
namespace xfem {

/* struct InteractionIntegral {}; */
/* struct VCEM {}; */

template <typename Mesh, typename Tip, typename DomainMask>
std::pair<_real, _real>
InteractionIntegral(const Mesh& mesh, const Tip& tip, const DomainMask& mask) {
  using Crack = typename Tip::Crack;

  Crack crack = tip.getParent();
  Mesh  integral_domain;
  Crack integral_crack;

  integral_domain.extractShapeFrom(mesh, mask);
  integral_crack.extractShapeFrom(crack, mask);

  _real K1, K2;

  return std::make_pair(K1, K2);
}

}  // namespace xfem
}  // namespace geoxfem

#endif /* SIF_CALCULATOR_INTERFACE_H */
